
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import javax.swing.JOptionPane;

/**
 *
 * @author Bárbara
 */
public class GerenciaQuestionario {

    private GerenciaBanco banco;

    public GerenciaQuestionario() {
        this.banco = new GerenciaBanco();
    }

    public Iterator<Questionario> get() throws SQLException, BancoException {
		PreparedStatement pst = this.banco.getConexao().prepareStatement(
				"select numero from questionario order by numero");
		ResultSet rs = pst.executeQuery();
		Questionario q;
		ArrayList<Questionario> lista = new ArrayList<Questionario>();

		while (rs.next()) {
			q = new Questionario();
			q.setMunicipio(rs.getString(1));
			lista.add(q);
		}
		return lista.iterator();
	}

    public void cadastrarQuestionario(int numero, String municipio, String localidade, int idade, double renda,
                String instrucao, String sexo, String p1, String p2, String p3, String p4, String p5, String p6, String p7) throws Exception {

		PreparedStatement pst = this.banco.getConexao().prepareStatement(
				"insert into questionario values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

		pst.setInt(1, numero);
		pst.setString(2, municipio);
                pst.setString(3, localidade);
                pst.setInt(4, idade);
                pst.setDouble(5, renda);
                pst.setString(6, instrucao);
                pst.setString(7, sexo);
                pst.setString(8, p1);
                pst.setString(9, p2);
                pst.setString(10, p3);
                pst.setString(11, p4);
                pst.setString(12, p5);
                pst.setString(13, p6);
                pst.setString(14, p7);
		boolean rs1 = pst.execute();
		if (!rs1){
			System.out.println("Questionario cadastradO =D");
		}

	}
    
    
      public void deletarQuestionario(int numero) throws SQLException, BancoException {

        if (getNumero(numero) == null) {
            System.out.println("Questionário não encontrado!");
        } else {
    
    
            PreparedStatement pstmt = this.banco.getConexao().prepareStatement(
                   "DELETE FROM questionario WHERE numero = ?");

            pstmt.setInt(1, numero);
            pstmt.execute();
            JOptionPane.showMessageDialog(null, "Questionario Removido com sucesso!");
        }
    }

      
     private Object getNumero(int numero) throws SQLException,BancoException {
		PreparedStatement pst = this.banco
				.getConexao()
				.prepareStatement(
				"select numero from questionario where numero = ? order by numero");
		pst.setInt(1, numero);
		ResultSet rs = pst.executeQuery();
		Questionario q = new Questionario();

		if (rs.next()) {
			q.setNumero(rs.getInt(1));
			return q;
		}

		throw new BancoException("Questionario não localizado");
    }
     
     
    
       
       
     

}
